package businesslogicservice.courseblservice;

import java.rmi.Naming;
import java.util.ArrayList;

import po.coursePO.CoursePO;
import dataservice.ResultMessage;
import dataservice.courseDataService.CourseDatabaseService;
import vo.courseVO.CourseVO;

public interface CourseBLService {

	/*
     * 添加课程，参数 CourseVO,返回添加成功或失败信息
     */
	public ResultMessage addCourse(CourseVO newCourse)throws Exception;

	/*
	 * 更新课程，参数 CourseVO,返回更新成功或失败信息
	 */
	public ResultMessage updateCourse(CourseVO course)throws Exception;

	
	/*
     * 获得课程，参数 CourseID，返回CourseVO
     */
	public CourseVO getCourse(String courseId)throws Exception;
	
	/*
     * 获得课程，参数 CourseID，返回CourseVO
     */
	public ArrayList<CourseVO> getAllCourse()throws Exception;

	/*
     * 获得所有课程，无参数，返回CourseVO
     */
	public ArrayList<CourseVO> getSelectableCourses()throws Exception;
	
	/*
     * 获得制定院系课程，参数 departmentID，返回CourseVO的列表
     */
	public ArrayList<CourseVO> getSelectableCourse(String departmentID)throws Exception;
	
	/*
     * 获得课程，无参数，返回CourseVO的列表
     */
	public ArrayList<CourseVO> getMyCourse()throws Exception;

	/*
     * 获得院系信息，无参数，返回院系信息列表
     */
	public ArrayList<String> getAllDepartments()throws Exception;
	
	public ArrayList<CourseVO> getCourseByDepartments(String departmentID)throws Exception;
}
